package com.uinnova.product.eam.model.es;

import com.binary.framework.bean.annotation.Comment;
import com.uinnova.product.eam.base.cj.BaseEntity;
import com.uinnova.product.eam.constant.*;
import com.uinnova.product.eam.dto.SimpPlanInfo;
import com.uinnova.product.eam.dto.SimpProjectInfo;
import com.uinnova.product.eam.dto.SimpSystemInfo;
import lombok.Data;

import java.util.List;

@Data
@Comment("架构评审信息")
public class ArchReviewInfo extends BaseEntity {

    @Comment("评审来源")
    private ReviewFrom reviewFrom;
    @Comment("评审类别")
    private ArchReviewType reviewType;
    @Comment("事项类型")
    private ItemType itemType;
    @Comment("项目ciCode")
    private String projectCiCode;
    @Comment("项目信息")
    private SimpProjectInfo projectInfo;
    @Comment("系统ciCodes")
    private List<String> sysCiCodes;
    @Comment("系统信息")
    private List<SimpSystemInfo> systemInfos;
    @Comment("评审方案ids")
    private List<Long> planIds;
    @Comment("评审方案信息")
    private List<SimpPlanInfo> planInfos;
    @Comment("建设类型")
    private BuildType buildType;
    @Comment("建设模式")
    private String buildMode;
    @Comment("是否定制化系统")
    private Boolean customizeSys;
    @Comment("是否涉及业务改造")
    private Boolean includeBizTrans;
    @Comment("是否涉及架构变更")
    private Boolean includeArchTrans;
    @Comment("变更级别")
    private TransLevel transLevel;
    @Comment("项目经理")
    private String projectManager;
    @Comment("项目经理名称")
    private String projectManagerName;
    @Comment("所属团队id")
    private Long belongOrgId;
    @Comment("所属团队名称")
    private String belongOrgName;
    @Comment("参考链接")
    private String refLink;
    @Comment("评审说明")
    private String reviewDesc;
    @Comment("后续评审方式-值班人评审")
    private FeatureReviewType officeReviewType;
    @Comment("后续评审方式-值班复核")
    private FeatureReviewType rotaReviewType;
    @Comment("后续评审方式-预评审终审")
    private FeatureReviewType expertReviewType;
    @Comment("后续评审方式")
    private FeatureReviewType featureReviewType;
    @Comment("流程状态")
    private ArchReviewState state;
    @Comment("受理时间")
    private Long acceptTime;
    @Comment("预评审-值班人评审节点处理人")
    private String preReviewOfficer;
    @Comment("流程实例id")
    private String processInstanceId;
    @Comment("评审完成日期")
    private Long processFinishTime;
}
